package org.springblade.modules.repair.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import org.springblade.modules.repair.vo.part.PartWordUrlVo;

@Data
@EqualsAndHashCode(callSuper=true)
@TableName(value = "blade_elevator_detail",autoResultMap = true)
public class ElevatorDetail extends TenantEntity {
    /**
     * 电梯id
     */
    @TableField(value = "elevator_id")
    private Long elevatorId;

    /**
     * 安全员名字
     */
    @TableField(value = "security_guard_name")
    private String securityGuardName;

    /**
     * 额定载重量
     */
    @TableField(value = "supporting_power")
    private String supportingPower;

    /**
     * 制造商名称
     */
    @TableField(value = "made_name")
    private String madeName;

    /**
     * 品种设备
     */
    @TableField(value = "varieties_equipment")
    private String varietiesEquipment;

    /**
     * 单位内编号
     */
    @TableField(value = "register_number")
    private String registerNumber;

    /**
     * 登记证编号
     */
    @TableField(value = "equipment_register_number")
    private String equipmentRegisterNumber;

    /**
     * 保险结束时间
     */
    @TableField(value = "insurance_end_date")
    private Date insuranceEndDate;

    /**
     * 层
     */
    @TableField(value = "floor_high")
    private String floorHigh;

    /**
     * 门
     */
    @TableField(value = "door")
    private String door;

    /**
     * 站
     */
    @TableField(value = "stand")
    private String stand;

    /**
     * 登记机关
     */
    @TableField(value = "registration_authority")
    private String registrationAuthority;

    /**
     * 检验机构
     */
    @TableField(value = "certification_body")
    private String certificationBody;

    /**
     * 型号
     */
    @TableField(value = "model_number")
    private String modelNumber;

    /**
     * 出厂型号
     */
    @TableField(value = "factory_number")
    private String factoryNumber;

    /**
     * 额定速度
     */
    @TableField(value = "speed")
    private String speed;

    /**
     * 制造日期
     */
    @TableField(value = "made_date")
    private Date madeDate;

    /**
     * 控制方式
     */
    @TableField(value = "control_mode")
    private String controlMode;

    /**
     * 限速器编号
     */
    @TableField(value = "speed_governor_number")
    private String speedGovernorNumber;

    /**
     * 限速器出厂编号编号
     */
    @TableField(value = "speed_governor_factory_number")
    private String speedGovernorFactoryNumber;

    /**
     * 电梯详细位置
     */
    @TableField(value = "elevator_address")
    private String elevatorAddress;

    /**
     * 驱动方式
     */
    @TableField(value = "elevator_use_type",updateStrategy = FieldStrategy.IGNORED)
    private Long elevatorUseType;

    /**
     * 电梯用途 0-公用，1-私用
     */
    @TableField(value = "use_type")
    private Integer useType;

    /**
     * 合格证号
     */
    @TableField(value = "cert_no")
    private String certNo;

    /**
     * 生产工号
     */
    @TableField(value = "manufacture_no")
    private String manufactureNo;

    /**
     * 提升高度
     */
    @TableField(value = "hoist_height")
    private String hoistHeight;

    /**
     * 经度
     */
    @TableField(value = "longitude")
    private String longitude;

    /**
     * 纬度
     */
    @TableField(value = "latitude")
    private String latitude;

    /**
     * 启用时间
     */
    @TableField(value = "start_date")
    private Date startDate;


	@ApiModelProperty("识别代码贴纸")
	@TableField(typeHandler = JacksonTypeHandler.class)
	private List<PartWordUrlVo> elevatorNumImg;

	@ApiModelProperty("识别代码贴纸更新时间")
	private Date elevatorNumImgDate;


	@ApiModelProperty("电梯快速识别码")
	private String elevatorNum;

	private Date factoryDate;
}
